import java.util.HashMap;

import java.util.Scanner;

/**
 * @author dreamcatcher
 * @date 2022/5/4 10:17
 */
public abstract class Activity {
    /**
     * 使用HashMap存储从.xml文件中加载的组件
     */
    private static HashMap<String, View> layoutMap = LayoutLoader.getLayoutMap();
    public abstract void onCreate();

    /**
     * 设置点击点击事件分发器，此处的点击使用输入的View类的id模拟
     * @param next
     */
    public void dispatcher(String next) {
        View viewById = findViewById(next);
        if (viewById != null) {
            viewById.onClick();
        }
    }

    /**
     * 通过id寻找View
     * @param id
     * @return
     */
    public View findViewById(String id) {
        return layoutMap.get("@+id/" + id);
    }

    /**
     * 程序运行的方法
     */
    public void run() {
        onCreate();
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            dispatcher(scanner.next());
        }
    }

}
